From 47eb4aae6d870b55ced2144d0dfa45d30b39c07a Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Sat, 16 Oct 2004 04:27:08 +0000 Subject: [PATCH] Fix redraw issues with the focus on the ring. 2004-10-16 Matthias Clasen * gtk/gtkhsv.c (gtk_hsv_expose): Fix redraw issues with the focus on the ring. --- ChangeLog | 5 +++++ ChangeLog.pre-2-10 | 5 +++++ ChangeLog.pre-2-6 | 5 +++++ ChangeLog.pre-2-8 | 5 +++++ gtk/gtkhsv.c | 19 ++++++++++--------- 5 files changed, 30 insertions(+), 9 deletions(-) diff --git a/ChangeLog b/ChangeLog index 35c5fd5ec3..b04a2820d2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2004-10-16 Matthias Clasen + + * gtk/gtkhsv.c (gtk_hsv_expose): Fix redraw issues with the + focus on the ring. + 2004-10-15 Matthias Clasen * gtk/gtksizegroup.c (do_size_request): Unset GTK_REQUEST_NEEDED diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index 35c5fd5ec3..b04a2820d2 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,8 @@ +2004-10-16 Matthias Clasen + + * gtk/gtkhsv.c (gtk_hsv_expose): Fix redraw issues with the + focus on the ring. + 2004-10-15 Matthias Clasen * gtk/gtksizegroup.c (do_size_request): Unset GTK_REQUEST_NEEDED diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index 35c5fd5ec3..b04a2820d2 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -1,3 +1,8 @@ +2004-10-16 Matthias Clasen + + * gtk/gtkhsv.c (gtk_hsv_expose): Fix redraw issues with the + focus on the ring. + 2004-10-15 Matthias Clasen * gtk/gtksizegroup.c (do_size_request): Unset GTK_REQUEST_NEEDED diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index 35c5fd5ec3..b04a2820d2 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,8 @@ +2004-10-16 Matthias Clasen + + * gtk/gtkhsv.c (gtk_hsv_expose): Fix redraw issues with the + focus on the ring. + 2004-10-15 Matthias Clasen * gtk/gtksizegroup.c (do_size_request): Unset GTK_REQUEST_NEEDED diff --git a/gtk/gtkhsv.c b/gtk/gtkhsv.c index fd812db0d0..cb73ecd8fc 100644 --- a/gtk/gtkhsv.c +++ b/gtk/gtkhsv.c @@ -996,7 +996,7 @@ paint_ring (GtkHSV *hsv, /* Create clipping mask */ - mask = gdk_pixmap_new (GTK_WIDGET (hsv)->window, width, height, 1); + mask = gdk_pixmap_new (widget->window, width, height, 1); gc = gdk_gc_new (mask); @@ -1068,14 +1068,6 @@ paint_ring (GtkHSV *hsv, g_free (buf); /* Draw ring outline */ - - if (GTK_WIDGET_HAS_FOCUS (hsv) && priv->focus_on_ring) - { - gtk_paint_focus (widget->style, drawable, - GTK_WIDGET_STATE (widget), - NULL, widget, NULL, - x, y, width, height); - } } /* Converts an HSV triplet to an integer RGB triplet */ @@ -1400,6 +1392,15 @@ gtk_hsv_expose (GtkWidget *widget, dest.y, event->area.width, event->area.height); + if (GTK_WIDGET_HAS_FOCUS (hsv) && priv->focus_on_ring) + gtk_paint_focus (widget->style, widget->window, + GTK_WIDGET_STATE (widget), + &event->area, widget, NULL, + widget->allocation.x, + widget->allocation.y, + widget->allocation.width, + widget->allocation.height); + g_object_unref (pixmap); return FALSE; -- 2.30.2